imcontextsimple: Use event constructors
authorMatthias Clasen <mclasen@redhat.com>
Sat, 15 Feb 2020 14:55:58 +0000 (09:55 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 21 Feb 2020 05:40:52 +0000 (00:40 -0500)
gtk/gtkimcontextsimple.c

index 730f4bac0a65a9f16999b9485ada73c25a5fbe1f..f2cd39d9eddb3601d8c35cbdbcd300abd3fbef05 100644 (file)
@@ -913,10 +913,20 @@ no_sequence_matches (GtkIMContextSimple *context_simple,
       gtk_im_context_simple_commit_char (context, priv->tentative_match);
       priv->compose_buffer[0] = 0;
       
-      for (i=0; i < n_compose - len - 1; i++)
+      for (i = 0; i < n_compose - len - 1; i++)
        {
-         GdkEvent *tmp_event = gdk_event_copy ((GdkEvent *)event);
-          gdk_event_set_keyval (tmp_event, priv->compose_buffer[len + i]);
+          guint tmp_keyval = priv->compose_buffer[len + i];
+          GdkEvent *tmp_event = gdk_event_key_new (GDK_KEY_PRESS,
+                                                   event->any.surface,
+                                                   event->any.device,
+                                                   event->any.source_device,
+                                                   event->time,
+                                                   event->state,
+                                                   tmp_keyval,
+                                                   tmp_keyval,
+                                                   tmp_keyval,
+                                                   0,
+                                                   0);
          
          gtk_im_context_filter_keypress (context, (GdkEventKey *)tmp_event);
          g_object_unref (tmp_event);